
<!DOCTYPE HTML>
<html lang="" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>Pytorch实验代码的亿些小细节 · 梦里茶</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.2">
        <meta name="author" content="陈伟航">
        
        
    
    
    <link rel="stylesheet" href="../../gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="../../gitbook/gitbook-plugin-disqus/plugin.css">
                
            
                
                <link rel="stylesheet" href="../../gitbook/gitbook-plugin-toggle-chapters/toggle.css">
                
            
                
                <link rel="stylesheet" href="../../gitbook/gitbook-plugin-mermaid-gb3/mermaid/mermaid.css">
                
            
                
                <link rel="stylesheet" href="../../gitbook/gitbook-plugin-highlight/website.css">
                
            
                
                <link rel="stylesheet" href="../../gitbook/gitbook-plugin-search/search.css">
                
            
                
                <link rel="stylesheet" href="../../gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
        <link rel="stylesheet" href="../../styles/website.css">
        
    
        
    
        
    
        
    
        
    
        
    


    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../../gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="../../gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="../kit/" />
    
    
    <link rel="prev" href="../ncs.html" />
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="Type to search" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    

    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="../../">
            
                <a href="../../">
            
                    
                    Introduction
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2" data-path="../../android/">
            
                <a href="../../android/">
            
                    
                    Android
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.1" data-path="../../android/activity/">
            
                <a href="../../android/activity/">
            
                    
                    activity
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.1.1" data-path="../../android/activity/activity-si-zhong-qi-dong-mo-shi.html">
            
                <a href="../../android/activity/activity-si-zhong-qi-dong-mo-shi.html">
            
                    
                    Activity四种启动模式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.1.2" data-path="../../android/activity/intent_flag.html">
            
                <a href="../../android/activity/intent_flag.html">
            
                    
                    Intent Flag
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.1.3" data-path="../../android/activity/duo-task-de-ying-yong.html">
            
                <a href="../../android/activity/duo-task-de-ying-yong.html">
            
                    
                    多task的应用
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.1.4" data-path="../../android/activity/task-he-hui-tui-zhan.html">
            
                <a href="../../android/activity/task-he-hui-tui-zhan.html">
            
                    
                    Task和回退栈
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.2.2" data-path="../../android/sqlite/">
            
                <a href="../../android/sqlite/">
            
                    
                    sqlite
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.2.1" data-path="../../android/sqlite/cong-yuan-ma-kan-android-zhong-sqlite-shi-zen-mo-tong-guo-cursorwindow-du-db-de.html">
            
                <a href="../../android/sqlite/cong-yuan-ma-kan-android-zhong-sqlite-shi-zen-mo-tong-guo-cursorwindow-du-db-de.html">
            
                    
                    【源码】CursorWindow读DB
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.2.2" data-path="../../android/sqlite/sqlite-zai-android-shang-de-yi-ge-bug.html">
            
                <a href="../../android/sqlite/sqlite-zai-android-shang-de-yi-ge-bug.html">
            
                    
                    Sqlite在Android上的一个Bug
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.2.3" data-path="../../android/chromium.html">
            
                <a href="../../android/chromium.html">
            
                    
                    Chromium
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.4" data-path="../../android/listview_db.html">
            
                <a href="../../android/listview_db.html">
            
                    
                    ListView读取DB数据最佳实践
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.5" data-path="../../android/androidproject-jie-gou.html">
            
                <a href="../../android/androidproject-jie-gou.html">
            
                    
                    Android Project结构
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.6" data-path="../../android/yi-ge-you-proguard-yu-fastjson-yin-qi-de-xie-an.html">
            
                <a href="../../android/yi-ge-you-proguard-yu-fastjson-yin-qi-de-xie-an.html">
            
                    
                    一个由Proguard与FastJson引起的血案
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.7" data-path="../../android/note.html">
            
                <a href="../../android/note.html">
            
                    
                    琐碎的一些tips
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.3" data-path="../../cv/">
            
                <a href="../../cv/">
            
                    
                    Computer Vision
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.3.1" data-path="../../cv/feature.html">
            
                <a href="../../cv/feature.html">
            
                    
                    特征提取
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.2" data-path="../../cv/utils.html">
            
                <a href="../../cv/utils.html">
            
                    
                    计算机视觉常用工具
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4" data-path="../">
            
                <a href="../">
            
                    
                    Machine Learning
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.1" data-path="../trick/">
            
                <a href="../trick/">
            
                    
                    技巧
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.1.1" data-path="../trick/imgnet_1h.html">
            
                <a href="../trick/imgnet_1h.html">
            
                    
                    FaceBook: 1 hour training ImageNet
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.1.2" data-path="../trick/l2_normalize.html">
            
                <a href="../trick/l2_normalize.html">
            
                    
                    L2 Norm与L2 normalize
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4.2" data-path="../ncs.html">
            
                <a href="../ncs.html">
            
                    
                    实践
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter active" data-level="1.4.2.1" data-path="torch_best_practice.html">
            
                <a href="torch_best_practice.html">
            
                    
                    Pytorch实验代码的亿些小细节
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4.3" data-path="../kit/">
            
                <a href="../kit/">
            
                    
                    工具
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.3.1" >
            
                <a target="_blank" href="https://github.com/ahangchen/GDLNotes">
            
                    
                    Tensorflow学习笔记
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.3.2" data-path="../kit/mxnet.html">
            
                <a href="../kit/mxnet.html">
            
                    
                    MXNet踩坑手记
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.3.3" data-path="../kit/pytorch.html">
            
                <a href="../kit/pytorch.html">
            
                    
                    PyTorch踩坑手记
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.3.4" data-path="../kit/keras.html">
            
                <a href="../kit/keras.html">
            
                    
                    Keras踩坑手记
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.3.5" data-path="../kit/mscnn.html">
            
                <a href="../kit/mscnn.html">
            
                    
                    mscnn
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.3.6" data-path="../kit/matlab/">
            
                <a href="../kit/matlab/">
            
                    
                    Matlab
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.3.6.1" data-path="../kit/matlab/ripc_auto.html">
            
                <a href="../kit/matlab/ripc_auto.html">
            
                    
                    Matlab Remote IPC自动化数据处理
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4.4" data-path="../papers/">
            
                <a href="../papers/">
            
                    
                    Papers
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.4.1" data-path="../papers/classification/">
            
                <a href="../papers/classification/">
            
                    
                    Classification
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.2" data-path="../papers/reid/">
            
                <a href="../papers/reid/">
            
                    
                    Re-identification
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.4.2.1" data-path="../papers/reid/tfusion.html">
            
                <a href="../papers/reid/tfusion.html">
            
                    
                    CVPR2018:TFusion完全解读
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.2.2" data-path="../papers/reid/eccv2018_taudl.html">
            
                <a href="../papers/reid/eccv2018_taudl.html">
            
                    
                    ECCV2018:TAUDL
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.2.3" data-path="../papers/reid/cuhk_sentimes.html">
            
                <a href="../papers/reid/cuhk_sentimes.html">
            
                    
                    CVPR2018:Graph+reid
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.2.4" data-path="../papers/reid/reid.html">
            
                <a href="../papers/reid/reid.html">
            
                    
                    Person Re-identification
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.2.5" data-path="../papers/reid/cvpr-reid.html">
            
                <a href="../papers/reid/cvpr-reid.html">
            
                    
                    CVPR2016 Re-id
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.2.6" data-path="../papers/reid/reid-topo.html">
            
                <a href="../papers/reid/reid-topo.html">
            
                    
                    Camera topology and Person Re-id
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.2.7" data-path="../papers/reid/deep_transfer_learning_person_reid.html">
            
                <a href="../papers/reid/deep_transfer_learning_person_reid.html">
            
                    
                    Deep transfer learning Person Re-id
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.2.8" data-path="../papers/reid/evaluate.html">
            
                <a href="../papers/reid/evaluate.html">
            
                    
                    Evaluate
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4.4.3" data-path="../papers/detection/">
            
                <a href="../papers/detection/">
            
                    
                    Object Detection
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.4.3.1" data-path="../papers/detection/rcnn.html">
            
                <a href="../papers/detection/rcnn.html">
            
                    
                    读论文系列·干货满满的RCNN
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.3.2" data-path="../papers/detection/sppnet.html">
            
                <a href="../papers/detection/sppnet.html">
            
                    
                    读论文系列·SPP-net
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.3.3" data-path="../papers/detection/fast_rcnn.html">
            
                <a href="../papers/detection/fast_rcnn.html">
            
                    
                    读论文系列·Fast RCNN
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.3.4" data-path="../papers/detection/faster_rcnn.html">
            
                <a href="../papers/detection/faster_rcnn.html">
            
                    
                    读论文系列·Faster RCNN
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.3.5" data-path="../papers/detection/yolo.html">
            
                <a href="../papers/detection/yolo.html">
            
                    
                    读论文系列·YOLO
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.3.6" data-path="../papers/detection/ssd.html">
            
                <a href="../papers/detection/ssd.html">
            
                    
                    读论文系列·SSD
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.3.7" data-path="../papers/detection/yolo23.html">
            
                <a href="../papers/detection/yolo23.html">
            
                    
                    读论文系列·YOLOv2 & YOLOv3
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.3.8" data-path="../papers/detection/other.html">
            
                <a href="../papers/detection/other.html">
            
                    
                    读论文系列·detection其他文章推荐
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4.4.4" data-path="../papers/mono_depth/">
            
                <a href="../papers/mono_depth/">
            
                    
                    Depth
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.5" data-path="../papers/3d_vision/">
            
                <a href="../papers/3d_vision/">
            
                    
                    3D vision
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.4.5.1" data-path="../papers/3d_vision/datasets.html">
            
                <a href="../papers/3d_vision/datasets.html">
            
                    
                    数据集相关
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.5.2" data-path="../papers/3d_vision/flow.html">
            
                <a href="../papers/3d_vision/flow.html">
            
                    
                    光流相关
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4.4.6" data-path="../papers/ssah/">
            
                <a href="../papers/ssah/">
            
                    
                    Hashing
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.4.6.1" data-path="../papers/ssah/ssah.html">
            
                <a href="../papers/ssah/ssah.html">
            
                    
                    CVPR2018: SSAH
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4.4.7" data-path="../papers/overview/">
            
                <a href="../papers/overview/">
            
                    
                    大杂烩
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.4.7.1" data-path="../papers/overview/cncc2017.html">
            
                <a href="../papers/overview/cncc2017.html">
            
                    
                    CNCC2017 琐记
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.7.2" data-path="../papers/overview/eccv2016_hydra_ccnn.html">
            
                <a href="../papers/overview/eccv2016_hydra_ccnn.html">
            
                    
                    ECCV 2016 Hydra CCNN
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.7.3" data-path="../papers/overview/cncc_cv.html">
            
                <a href="../papers/overview/cncc_cv.html">
            
                    
                    CNCC2017深度学习与跨媒体智能
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4.7.4" data-path="../papers/overview/mla_2016.html">
            
                <a href="../papers/overview/mla_2016.html">
            
                    
                    MLA2016笔记
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4.5" data-path="../zzh_ml_notes/">
            
                <a href="../zzh_ml_notes/">
            
                    
                    《机器学习》（周志华）读书笔记
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.5.1" data-path="../zzh_ml_notes/melon/">
            
                <a href="../zzh_ml_notes/melon/">
            
                    
                    西瓜书概念整理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.5.1.1" data-path="../zzh_ml_notes/melon/ch01.html">
            
                <a href="../zzh_ml_notes/melon/ch01.html">
            
                    
                    绪论
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.2" data-path="../zzh_ml_notes/melon/ch02.html">
            
                <a href="../zzh_ml_notes/melon/ch02.html">
            
                    
                    模型评估与选择
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.3" data-path="../zzh_ml_notes/melon/ch03.html">
            
                <a href="../zzh_ml_notes/melon/ch03.html">
            
                    
                    线性模型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.4" data-path="../zzh_ml_notes/melon/ch04.html">
            
                <a href="../zzh_ml_notes/melon/ch04.html">
            
                    
                    决策树
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.5" data-path="../zzh_ml_notes/melon/ch05.html">
            
                <a href="../zzh_ml_notes/melon/ch05.html">
            
                    
                    神经网络
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.6" data-path="../zzh_ml_notes/melon/ch06.html">
            
                <a href="../zzh_ml_notes/melon/ch06.html">
            
                    
                    支持向量机
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.7" data-path="../zzh_ml_notes/melon/ch07.html">
            
                <a href="../zzh_ml_notes/melon/ch07.html">
            
                    
                    贝叶斯分类器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.8" data-path="../zzh_ml_notes/melon/ch08.html">
            
                <a href="../zzh_ml_notes/melon/ch08.html">
            
                    
                    集成学习
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.9" data-path="../zzh_ml_notes/melon/ch09.html">
            
                <a href="../zzh_ml_notes/melon/ch09.html">
            
                    
                    聚类
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.10" data-path="../zzh_ml_notes/melon/ch10.html">
            
                <a href="../zzh_ml_notes/melon/ch10.html">
            
                    
                    降维与度量学习
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.11" data-path="../zzh_ml_notes/melon/ch11.html">
            
                <a href="../zzh_ml_notes/melon/ch11.html">
            
                    
                    特征选择与稀疏学习
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.12" data-path="../zzh_ml_notes/melon/ch12.html">
            
                <a href="../zzh_ml_notes/melon/ch12.html">
            
                    
                    计算学习理论
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.13" data-path="../zzh_ml_notes/melon/ch13.html">
            
                <a href="../zzh_ml_notes/melon/ch13.html">
            
                    
                    半监督学习
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.14" data-path="../zzh_ml_notes/melon/ch14.html">
            
                <a href="../zzh_ml_notes/melon/ch14.html">
            
                    
                    概率图模型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.15" data-path="../zzh_ml_notes/melon/ch15.html">
            
                <a href="../zzh_ml_notes/melon/ch15.html">
            
                    
                    规则学习
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.16" data-path="../zzh_ml_notes/melon/ch16.html">
            
                <a href="../zzh_ml_notes/melon/ch16.html">
            
                    
                    强化学习
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5.1.17" data-path="../zzh_ml_notes/melon/ch17.html">
            
                <a href="../zzh_ml_notes/melon/ch17.html">
            
                    
                    附录
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.5" data-path="../../java/">
            
                <a href="../../java/">
            
                    
                    Java
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.5.1" data-path="../../java/java-web/">
            
                <a href="../../java/java-web/">
            
                    
                    java web
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.5.1.1" data-path="../../java/java-web/servlet-zu-zhi.html">
            
                <a href="../../java/java-web/servlet-zu-zhi.html">
            
                    
                    Servlet部署
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.2" data-path="../../java/java-web/note.html">
            
                <a href="../../java/java-web/note.html">
            
                    
                    琐碎的tips
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.5.2" data-path="../../java/note.html">
            
                <a href="../../java/note.html">
            
                    
                    JNI
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.3" data-path="../../java/note-1.html">
            
                <a href="../../java/note-1.html">
            
                    
                    Note
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.4" data-path="../../java/l1-new-delete.html">
            
                <a href="../../java/l1-new-delete.html">
            
                    
                    Effective Java笔记
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.6" data-path="../../backend/">
            
                <a href="../../backend/">
            
                    
                    后端开发
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.6.1" data-path="../../backend/design.html">
            
                <a href="../../backend/design.html">
            
                    
                    架构设计
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.2" data-path="../../backend/db.html">
            
                <a href="../../backend/db.html">
            
                    
                    数据库
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.3" data-path="../../backend/note/">
            
                <a href="../../backend/note/">
            
                    
                    java web
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.6.3.1" data-path="../../backend/note/servlet-zu-zhi.html">
            
                <a href="../../backend/note/servlet-zu-zhi.html">
            
                    
                    Servlet部署
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.3.2" data-path="../../backend/note/note.html">
            
                <a href="../../backend/note/note.html">
            
                    
                    琐碎的tips
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.6.4" data-path="../../backend/spring_boot.html">
            
                <a href="../../backend/spring_boot.html">
            
                    
                    Spring boot
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.5" data-path="../../backend/django.html">
            
                <a href="../../backend/django.html">
            
                    
                    django
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.6" data-path="../../backend/concurrent.html">
            
                <a href="../../backend/concurrent.html">
            
                    
                    分布式
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.7" data-path="../../note/">
            
                <a href="../../note/">
            
                    
                    Linux && Hardware
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.7.1" data-path="../../note/ubuntu_init.html">
            
                <a href="../../note/ubuntu_init.html">
            
                    
                    Ubuntu安装与初始配置
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.2" data-path="../../note/raspbian/">
            
                <a href="../../note/raspbian/">
            
                    
                    树莓派相关
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.7.2.1" data-path="../../note/raspbian/rtlwifi.html">
            
                <a href="../../note/raspbian/rtlwifi.html">
            
                    
                    树莓派3B+无线网卡监听模式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.2.2" data-path="../../note/raspbian/tlwr703n_openwrt.html">
            
                <a href="../../note/raspbian/tlwr703n_openwrt.html">
            
                    
                    TP-LINK TL-WR703N v1.7 openwrt flashing
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.8" data-path="../../python/">
            
                <a href="../../python/">
            
                    
                    Python
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.8.1" data-path="../../python/django.html">
            
                <a href="../../python/django.html">
            
                    
                    django
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2" data-path="../../python/raw.html">
            
                <a href="../../python/raw.html">
            
                    
                    原生模块
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.3" data-path="../../python/design.html">
            
                <a href="../../python/design.html">
            
                    
                    设计模式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.4" data-path="../../python/viz.html">
            
                <a href="../../python/viz.html">
            
                    
                    可视化
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.5" data-path="../../python/libs.html">
            
                <a href="../../python/libs.html">
            
                    
                    常用库踩坑指南
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.9" data-path="../../web-front/">
            
                <a href="../../web-front/">
            
                    
                    web前端
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.9.1" data-path="../../web-front/head_content.html">
            
                <a href="../../web-front/head_content.html">
            
                    
                    header div固定，content div填充父容器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.2" data-path="../../web-front/json_res.html">
            
                <a href="../../web-front/json_res.html">
            
                    
                    json接口资源
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.10" data-path="../../ui.html">
            
                <a href="../../ui.html">
            
                    
                    UI
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11" data-path="../../kit/">
            
                <a href="../../kit/">
            
                    
                    kit
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.11.1" data-path="../../kit/note.html">
            
                <a href="../../kit/note.html">
            
                    
                    vim
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.2" data-path="../../kit/git/">
            
                <a href="../../kit/git/">
            
                    
                    git/github
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.11.2.1" data-path="../../kit/git/green_blush.html">
            
                <a href="../../kit/git/green_blush.html">
            
                    
                    刷爆github小绿点
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.11.3" data-path="../../kit/markdown/">
            
                <a href="../../kit/markdown/">
            
                    
                    Markdown/gitbook
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.11.3.1" data-path="../../kit/markdown/pieces.html">
            
                <a href="../../kit/markdown/pieces.html">
            
                    
                    琐碎知识点
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.3.2" data-path="../../kit/markdown/gitbook_disqus.html">
            
                <a href="../../kit/markdown/gitbook_disqus.html">
            
                    
                    gitbook添加disqus作为评论
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.3.3" data-path="../../kit/markdown/chrome_mark2_md.html">
            
                <a href="../../kit/markdown/chrome_mark2_md.html">
            
                    
                    导出chrome书签为Markdown
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.3.4" data-path="../../kit/markdown/wx_md.html">
            
                <a href="../../kit/markdown/wx_md.html">
            
                    
                    Markdown here && 微信公众号
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.11.4" data-path="../../kit/latex/">
            
                <a href="../../kit/latex/">
            
                    
                    LaTex
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.11.4.1" data-path="../../kit/latex/note.html">
            
                <a href="../../kit/latex/note.html">
            
                    
                    LaTex琐记
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.11.5" data-path="../../kit/ss.html">
            
                <a href="../../kit/ss.html">
            
                    
                    科学上网
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.6" data-path="../../kit/vmware.html">
            
                <a href="../../kit/vmware.html">
            
                    
                    虚拟机
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.12" data-path="../../thinking-in-program/">
            
                <a href="../../thinking-in-program/">
            
                    
                    thinking-in-program
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.12.1" data-path="../../thinking-in-program/log.html">
            
                <a href="../../thinking-in-program/log.html">
            
                    
                    怎样打日志
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.13" data-path="../../star.html">
            
                <a href="../../star.html">
            
                    
                    我的收藏
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.14" data-path="../../pieces/">
            
                <a href="../../pieces/">
            
                    
                    琐记
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.14.1" data-path="../../pieces/paper.html">
            
                <a href="../../pieces/paper.html">
            
                    
                    论文心得
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.15" data-path="../../support.html">
            
                <a href="../../support.html">
            
                    
                    赞赏支持
            
                </a>
            

            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            Published with GitBook
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href="../.." >Pytorch实验代码的亿些小细节</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <h1 id="pytorch&#x5B9E;&#x9A8C;&#x4EE3;&#x7801;&#x7684;&#x4EBF;&#x4E9B;&#x5C0F;&#x7EC6;&#x8282;">Pytorch&#x5B9E;&#x9A8C;&#x4EE3;&#x7801;&#x7684;&#x4EBF;&#x4E9B;&#x5C0F;&#x7EC6;&#x8282;</h1>
<h2 id="&#x5E8F;">&#x5E8F;</h2>
<p>&#x4F60;&#x662F;&#x5426;&#x6709;&#x8FC7;&#x8FD9;&#x6837;&#x7684;&#x7ECF;&#x5386;&#xFF1A;&#x70BC;&#x4E86;&#x4E00;&#x5927;&#x5806;&#x7684;&#x4E39;&#xFF0C;&#x4F46;&#x8FC7;&#x4E86;&#x4E00;&#x5468;&#x56DE;&#x6765;&#x770B;&#x7ED3;&#x679C;&#xFF0C;&#x5FD8;&#x8BB0;&#x4E86;&#x6BCF;&#x4E2A;&#x6A21;&#x578B;&#x5BF9;&#x5E94;&#x7684;&#x914D;&#x7F6E;&#xFF1B;&#x6539;&#x4E86;&#x6A21;&#x578B;&#x4E2D;&#x7684;&#x4E00;&#x4E2A;&#x7EC4;&#x4EF6;&#xFF0C;&#x8DD1;&#x8D77;&#x6765;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x8BAD;&#x7EC3;&#xFF0C;&#x8FD9;&#x65F6;&#x5019;&#x6D4B;&#x8BD5;&#x65E7;&#x6A21;&#x578B;&#x5374;&#x53D1;&#x73B0;&#x7ED3;&#x679C;&#x8DDF;&#x539F;&#x6765;&#x4E0D;&#x4E00;&#x6837;&#x4E86;&#xFF1B;&#x628A;&#x6240;&#x6709;&#x7684;&#x8BAD;&#x7EC3;&#x6D4B;&#x8BD5;&#x4EE3;&#x7801;&#x5199;&#x5728;&#x4E00;&#x4E2A;&#x6587;&#x4EF6;&#x91CC;&#xFF0C;&#x52A0;&#x5165;&#x5404;&#x79CD;if else&#xFF0C;&#x6700;&#x540E;&#x4E00;&#x4E2A;&#x6587;&#x4EF6;&#x4E0A;&#x5343;&#x884C;&#xFF0C;&#x4E00;&#x4E2A;&#x5468;&#x672B;&#x6CA1;&#x770B;&#xFF0C;&#x56DE;&#x6765;&#x6539;&#x4E00;&#x4E2A;&#x903B;&#x8F91;&#x8981;&#x627E;&#x534A;&#x5929;&#x2026;&#x2026;&#x5176;&#x5B9E;&#x8FD9;&#x4E9B;&#x60C5;&#x51B5;&#x9664;&#x4E86;&#x6DF1;&#x5EA6;&#x5B66;&#x4E60;&#x76F8;&#x5173;&#x7684;&#x5F00;&#x53D1;&#xFF0C;&#x5728;&#x522B;&#x7684;&#x8F6F;&#x4EF6;&#x5F00;&#x53D1;&#x4E2D;&#x4E5F;&#x662F;&#x5F88;&#x5E38;&#x89C1;&#x7684;&#xFF0C;&#x4E3A;&#x4E86;&#x89E3;&#x51B3;&#x8FD9;&#x4E9B;&#x95EE;&#x9898;&#xFF0C;&#x8F6F;&#x4EF6;&#x884C;&#x4E1A;&#x7684;&#x5F00;&#x53D1;&#x8005;&#x5F62;&#x6210;&#x4E86;&#x5F88;&#x591A;&#x5957;&#x8DEF;&#xFF0C;&#x6BD4;&#x5982;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#xFF0C;&#x63D0;&#x9AD8;&#x4EE3;&#x7801;&#x590D;&#x7528;&#x6027;&#xFF0C;&#x6216;&#x8005;&#x5404;&#x79CD;&#x6700;&#x4F73;&#x5B9E;&#x8DF5;&#xFF0C;&#x6BD4;&#x5982;&#x8C37;&#x6B4C;&#x3001;&#x963F;&#x91CC;&#x90FD;&#x6709;&#x4E00;&#x5957;Java&#x5F00;&#x53D1;&#x6700;&#x4F73;&#x5B9E;&#x8DF5;&#xFF0C;&#x5404;&#x79CD;&#x6846;&#x67B6;&#x6BD4;&#x5982;&#x5BA2;&#x6237;&#x7AEF;&#x7684;Android&#xFF0C;&#x540E;&#x7AEF;&#x7684;spring&#xFF0C;&#x4E5F;&#x6709;&#x5404;&#x79CD;&#x6700;&#x4F73;&#x5B9E;&#x8DF5;&#xFF0C;&#x8BA9;&#x5F00;&#x53D1;&#x8005;&#x7684;&#x4EE3;&#x7801;&#x66F4;&#x52A0;&#x7B80;&#x6D01;&#xFF0C;&#x66F4;&#x4E13;&#x6CE8;&#x4E8E;&#x6838;&#x5FC3;&#x7684;&#x4E1A;&#x52A1;&#x5B9E;&#x73B0;&#x3002;&#x5728;&#x70BC;&#x4E39;&#x9886;&#x57DF;&#xFF0C;&#x4ECE;2016&#x5E74;&#x81F3;&#x4ECA;&#xFF0C;&#x5404;&#x5927;&#x8BAD;&#x7EC3;&#x6846;&#x67B6;&#x4E92;&#x76F8;&#x7ADE;&#x4E89;&#xFF0C;&#x4E92;&#x76F8;&#x5B66;&#x4E60;&#xFF0C;&#x5B66;&#x672F;&#x754C;&#x57FA;&#x4E8E;&#x8FD9;&#x4E9B;&#x6846;&#x67B6;&#x4EA7;&#x51FA;&#x4E86;&#x5F88;&#x591A;&#x8BBA;&#x6587;&#xFF0C;&#x8D28;&#x91CF;&#x8D8A;&#x9AD8;&#x7684;&#x8BBA;&#x6587;&#xFF0C;&#x5F80;&#x5F80;&#x4EE3;&#x7801;&#x5199;&#x5F97;&#x4E5F;&#x8D8A;&#x6709;&#x6761;&#x7406;&#xFF0C;&#x6700;&#x65B0;&#x7684;&#x8BBA;&#x6587;&#x4EE3;&#x7801;&#x4E5F;&#x6E10;&#x6E10;&#x5F62;&#x6210;&#x4E86;&#x4E00;&#x4E9B;&#x56FA;&#x5B9A;&#x7684;&#x8303;&#x5F0F;&#x3002;&#x7B14;&#x8005;&#x5728;&#x5B66;&#x6821;&#x548C;&#x5DE5;&#x4E1A;&#x754C;&#x9605;&#x8BFB;&#x8FC7;&#x8BB8;&#x591A;&#x8BBA;&#x6587;&#x7684;&#x5F00;&#x6E90;&#x4EE3;&#x7801;&#xFF0C;&#x4E5F;&#x57FA;&#x4E8E;&#x522B;&#x4EBA;&#x7684;&#x4EE3;&#x7801;&#x505A;&#x8FC7;&#x4E0D;&#x5C11;&#x7684;&#x6539;&#x8FDB;&#xFF0C;&#x6709;&#x4E9B;&#x4EE3;&#x7801;&#x4E5F;&#x5728;&#x5DE5;&#x4E1A;&#x754C;&#x843D;&#x5730;&#xFF0C;&#x81EA;&#x5DF1;&#x7684;&#x70BC;&#x4E39;&#x4EE3;&#x7801;&#x4E5F;&#x6E10;&#x6E10;&#x5F62;&#x6210;&#x4E86;&#x4E00;&#x4E9B;&#x98CE;&#x683C;&#xFF0C;&#x4ECA;&#x5929;&#x5C31;&#x8BB2;&#x8BB2;&#x81EA;&#x5DF1;&#x70BC;&#x4E39;&#x4EE3;&#x7801;&#x4E2D;&#x7684;&#x4E00;&#x4E9B;&#x80FD;&#x8BA9;&#x5B9E;&#x9A8C;&#x66F4;&#x6709;&#x6761;&#x7406;&#x7684;&#x5C0F;&#x4E60;&#x60EF;&#x3002;</p>
<blockquote>
<p>&#x5148;&#x4E0A;&#x4EE3;&#x7801;&#xFF0C;&#x6B22;&#x8FCE;star&#xFF1A;<a href="https://github.com/ahangchen/torch_base" target="_blank">https://github.com/ahangchen/torch_base</a></p>
</blockquote>
<h2 id="&#x4EE3;&#x7801;&#x7ED3;&#x6784;">&#x4EE3;&#x7801;&#x7ED3;&#x6784;</h2>
<pre><code class="lang-shell">torch_base
&#x251C;&#x2500;&#x2500; checkpoints # &#x5B58;&#x653E;&#x6A21;&#x578B;&#x7684;&#x5730;&#x65B9;
&#x251C;&#x2500;&#x2500; data        # &#x5B9A;&#x4E49;&#x5404;&#x79CD;&#x7528;&#x4E8E;&#x8BAD;&#x7EC3;&#x6D4B;&#x8BD5;&#x7684;dataset
&#x251C;&#x2500;&#x2500; eval.py     # &#x6D4B;&#x8BD5;&#x4EE3;&#x7801;
&#x251C;&#x2500;&#x2500; loss.py     # &#x5B9A;&#x4E49;&#x5404;&#x79CD;&#x82B1;&#x91CC;&#x80E1;&#x54E8;&#x7684;loss
&#x251C;&#x2500;&#x2500; metrics.py  # &#x5B9A;&#x4E49;&#x5404;&#x79CD;&#x7EA6;&#x5B9A;&#x4FD7;&#x6210;&#x7684;&#x8BC4;&#x4F30;&#x6307;&#x6807;
&#x251C;&#x2500;&#x2500; model       # &#x5B9A;&#x4E49;&#x5404;&#x79CD;&#x5B9E;&#x9A8C;&#x4E2D;&#x7684;&#x6A21;&#x578B;
&#x251C;&#x2500;&#x2500; options.py  # &#x5B9A;&#x4E49;&#x5404;&#x79CD;&#x5B9E;&#x9A8C;&#x53C2;&#x6570;&#xFF0C;&#x4EE5;&#x547D;&#x4EE4;&#x884C;&#x5F62;&#x5F0F;&#x4F20;&#x5165;
&#x251C;&#x2500;&#x2500; README.md   # &#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;&#x81EA;&#x5DF1;&#x7684;repo
&#x251C;&#x2500;&#x2500; scripts     # &#x5404;&#x79CD;&#x8BAD;&#x7EC3;&#xFF0C;&#x6D4B;&#x8BD5;&#x811A;&#x672C;
&#x251C;&#x2500;&#x2500; train.py    # &#x8BAD;&#x7EC3;&#x4EE3;&#x7801;
&#x2514;&#x2500;&#x2500; utils       # &#x5404;&#x79CD;&#x5DE5;&#x5177;&#x4EE3;&#x7801;
</code></pre>
<p>checkpoints&#x6BD4;&#x8F83;&#x7B80;&#x5355;&#xFF0C;&#x6BCF;&#x6B21;&#x8BAD;&#x7EC3;&#x7684;&#x6A21;&#x578B;&#x5404;&#x81EA;&#x653E;&#x5728;&#x4E00;&#x4E2A;&#x76EE;&#x5F55;&#x91CC;&#xFF0C;scripts&#x76EE;&#x5F55;&#x53EF;&#x4EE5;&#x653E;&#x6BCF;&#x6B21;&#x8BAD;&#x7EC3;&#x6216;&#x6D4B;&#x8BD5;&#x7528;&#x7684;&#x547D;&#x4EE4;&#x811A;&#x672C;&#xFF0C;README.md&#x5F80;&#x5F80;&#x662F;&#x8FD9;&#x4E2A;repo&#x7684;&#x95E8;&#x9762;&#xFF0C;&#x53EF;&#x4EE5;&#x653E;&#x4E00;&#x4E9B;&#x4ECB;&#x7ECD;&#x6027;&#x7684;&#x5185;&#x5BB9;&#xFF1B;&#x5176;&#x4ED6;&#x90FD;&#x662F;&#x4EE3;&#x7801;&#x76EE;&#x5F55;&#xFF0C;&#x4E0B;&#x9762;&#x4F1A;&#x9010;&#x4E00;&#x8BB2;&#x89E3;&#x3002;</p>
<h2 id="options">options</h2>
<p>&#x9996;&#x5148;&#x8981;&#x4ECB;&#x7ECD;&#x7684;&#x662F;options.py&#x8FD9;&#x4E2A;&#x6587;&#x4EF6;&#xFF0C;&#x56E0;&#x4E3A;&#x8FD9;&#x91CC;&#x5B9A;&#x4E49;&#x4E86;&#x5404;&#x79CD;&#x5B9E;&#x9A8C;&#x53C2;&#x6570;&#xFF0C;&#x5176;&#x4ED6;&#x6A21;&#x5757;&#x591A;&#x591A;&#x5C11;&#x5C11;&#x90FD;&#x4F1A;&#x4E0E;&#x5B83;&#x6709;&#x5173;&#xFF0C;&#x53D7;&#x5B83;&#x63A7;&#x5236;&#xFF1B;&#x901A;&#x5E38;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x628A;&#x5404;&#x79CD;&#x53C2;&#x6570;&#x901A;&#x8FC7;&#x67D0;&#x79CD;&#x65B9;&#x5F0F;&#x4F20;&#x7ED9;&#x7A0B;&#x5E8F;&#xFF0C;&#x6BD4;&#x5982;&#x547D;&#x4EE4;&#x884C;&#x53C2;&#x6570;&#xFF0C;&#x6216;&#x8005;yaml&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#xFF0C;&#x6211;&#x6BD4;&#x8F83;&#x4E60;&#x60EF;&#x7528;&#x547D;&#x4EE4;&#x884C;&#x53C2;&#x6570;&#xFF0C;&#x914D;&#x5408;pycharm&#x7684;configuration&#x4F7F;&#x7528;&#xFF0C;&#x6216;&#x8005;&#x5199;&#x5728;scripts&#x76EE;&#x5F55;&#x7684;&#x811A;&#x672C;&#x91CC;&#x8FB9;&#xFF0C;&#x90FD;&#x5F88;&#x65B9;&#x4FBF;&#x6E05;&#x6670;&#x3002;&#x547D;&#x4EE4;&#x884C;&#x4F20;&#x53C2;&#x7528;&#x5230;&#x4E86;<code>argparse</code>&#x8FD9;&#x4E2A;lib&#xFF0C;&#x8FD9;&#x91CC;lib&#x7684;&#x8BE6;&#x7EC6;&#x4ECB;&#x7ECD;&#x53EF;&#x4EE5;&#x770B;<a href="https://docs.python.org/3/library/argparse.html" target="_blank">&#x5B98;&#x7F51;&#x6559;&#x7A0B;</a>&#xFF0C;&#x8FD9;&#x91CC;&#x53EA;&#x6311;&#x91CD;&#x70B9;&#x6765;&#x8BB2;&#x4E00;&#x4E0B;&#xFF1A;</p>
<pre><code class="lang-python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">parse_common_args</span><span class="hljs-params">(parser)</span>:</span>
    parser.add_argument(<span class="hljs-string">&apos;--model_type&apos;</span>, type=str, default=<span class="hljs-string">&apos;base_model&apos;</span>, help=<span class="hljs-string">&apos;used in model_entry.py&apos;</span>)
    parser.add_argument(<span class="hljs-string">&apos;--data_type&apos;</span>, type=str, default=<span class="hljs-string">&apos;base_dataset&apos;</span>, help=<span class="hljs-string">&apos;used in data_entry.py&apos;</span>)
    parser.add_argument(<span class="hljs-string">&apos;--save_prefix&apos;</span>, type=str, default=<span class="hljs-string">&apos;pref&apos;</span>, help=<span class="hljs-string">&apos;some comment for model or test result dir&apos;</span>)
    parser.add_argument(<span class="hljs-string">&apos;--load_model_path&apos;</span>, type=str, default=<span class="hljs-string">&apos;checkpoints/base_model_pref/0.pth&apos;</span>,
                        help=<span class="hljs-string">&apos;model path for pretrain or test&apos;</span>)
    parser.add_argument(<span class="hljs-string">&apos;--load_not_strict&apos;</span>, action=<span class="hljs-string">&apos;store_true&apos;</span>, help=<span class="hljs-string">&apos;allow to load only common state dicts&apos;</span>)
    parser.add_argument(<span class="hljs-string">&apos;--val_list&apos;</span>, type=str, default=<span class="hljs-string">&apos;/data/dataset1/list/base/val.txt&apos;</span>,
                        help=<span class="hljs-string">&apos;val list in train, test list path in test&apos;</span>)
    parser.add_argument(<span class="hljs-string">&apos;--gpus&apos;</span>, nargs=<span class="hljs-string">&apos;+&apos;</span>, type=int)
    <span class="hljs-keyword">return</span> parser

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">parse_train_args</span><span class="hljs-params">(parser)</span>:</span>
    parser = parse_common_args(parser)
    ...
    <span class="hljs-keyword">return</span> parser

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">parse_test_args</span><span class="hljs-params">(parser)</span>:</span>
    parser = parse_common_args(parser)
    ...
    <span class="hljs-keyword">return</span> parser
</code></pre>
<p>&#x6211;&#x4F1A;&#x5728;&#x5916;&#x9762;&#x521D;&#x59CB;&#x5316;&#x4E00;&#x4E2A;parser&#xFF0C;&#x5148;&#x7528;parse_common_args&#x6DFB;&#x52A0;&#x8BAD;&#x7EC3;&#x6D4B;&#x8BD5;&#x5171;&#x7528;&#x7684;&#x4E00;&#x4E9B;&#x53C2;&#x6570;&#xFF0C;&#x5728;parse_train_args&#x548C;parse_test_args&#x4E2D;&#x8C03;&#x7528;&#x8FD9;&#x4E2A;&#x516C;&#x5171;&#x7684;&#x51FD;&#x6570;&#xFF0C;&#x8FD9;&#x6837;&#x53EF;&#x4EE5;&#x907F;&#x514D;&#x6709;&#x4E9B;&#x53C2;&#x6570;&#x5728;&#x8BAD;&#x7EC3;&#x65F6;&#x5199;&#x4E86;&#xFF0C;&#x6D4B;&#x8BD5;&#x65F6;&#x5FD8;&#x4E86;&#x5199;&#xFF0C;&#x4E00;&#x8DD1;&#x5C31;&#x62A5;&#x9519;&#x3002;parse_train_args&#x89E3;&#x6790;&#x8BAD;&#x7EC3;&#x76F8;&#x5173;&#x7684;&#x53C2;&#x6570;&#xFF0C;parse_test_args&#x89E3;&#x6790;&#x6D4B;&#x8BD5;&#x76F8;&#x5173;&#x7684;&#x53C2;&#x6570;&#xFF1B;&#x5177;&#x4F53;&#x53C2;&#x6570;&#x548C;&#x7528;&#x9014;&#x5982;&#x4E0B;&#xFF1A;</p>
<ul>
<li><p>parse_common_args</p>
<ul>
<li><code>model_type</code>: &#x6A21;&#x578B;&#x7684;&#x540D;&#x5B57;&#xFF0C;&#x914D;&#x5408;model&#x76EE;&#x5F55;&#x548C;model_entry.py&#x4F7F;&#x7528;&#xFF1B;</li>
<li><code>data_type</code>&#xFF1A;&#x6570;&#x636E;&#x96C6;&#x7684;&#x540D;&#x5B57;&#xFF0C;&#x914D;&#x5408;data&#x76EE;&#x5F55;&#x548C;data_entry.py&#x4F7F;&#x7528;&#xFF1B;</li>
<li><code>save_prefix</code>&#xFF1A;&#x8BAD;&#x7EC3;&#x65F6;&#xFF1A;&#x5B9E;&#x9A8C;&#x7684;&#x540D;&#x5B57;&#xFF0C;&#x53EF;&#x4EE5;&#x5907;&#x6CE8;&#x81EA;&#x5DF1;&#x6539;&#x4E86;&#x90A3;&#x4E9B;&#x91CD;&#x8981;&#x7EC4;&#x4EF6;&#xFF0C;&#x5177;&#x4F53;&#x7684;&#x53C2;&#x6570;&#xFF0C;&#x4F1A;&#x7528;&#x4E8E;&#x521B;&#x5EFA;&#x4FDD;&#x5B58;&#x6A21;&#x578B;&#x7684;&#x76EE;&#x5F55;&#xFF1B;&#x6D4B;&#x8BD5;&#x65F6;&#xFF1A;&#x6D4B;&#x8BD5;&#x7684;&#x540D;&#x5B57;&#xFF0C;&#x53EF;&#x4EE5;&#x5907;&#x6CE8;&#x6D4B;&#x8BD5;&#x65F6;&#x505A;&#x4E86;&#x54EA;&#x4E9B;&#x914D;&#x7F6E;&#xFF0C;&#x4F1A;&#x7528;&#x4E8E;&#x521B;&#x5EFA;&#x4FDD;&#x5B58;&#x6D4B;&#x8BD5;&#x7ED3;&#x679C;&#x7684;&#x76EE;&#x5F55;&#xFF1B;</li>
<li><code>load_model_path</code>&#xFF1A;&#x6A21;&#x578B;&#x52A0;&#x8F7D;&#x8DEF;&#x5F84;&#xFF0C;&#x8BAD;&#x7EC3;&#x65F6;&#xFF0C;&#x4F5C;&#x4E3A;&#x9884;&#x8BAD;&#x7EC3;&#x6A21;&#x578B;&#x8DEF;&#x5F84;&#xFF0C;&#x6D4B;&#x8BD5;&#x65F6;&#xFF0C;&#x4F5C;&#x4E3A;&#x5F85;&#x6D4B;&#x6A21;&#x578B;&#x8DEF;&#x5F84;&#xFF0C;&#x6709;&#x7684;&#x4EBA;&#x559C;&#x6B22;&#x4F20;&#x5165;&#x4E00;&#x4E2A;&#x6A21;&#x578B;&#x540D;&#x5B57;&#xFF0C;&#x518D;&#x4F20;&#x5165;&#x4E00;&#x4E2A;epoch&#xFF0C;&#x4F46;&#x5176;&#x5B9E;&#x6CA1;&#x5565;&#x5FC5;&#x8981;&#xFF0C;&#x5C31;&#x7B97;&#x8981;&#x5FAA;&#x73AF;&#x6D4B;&#x591A;&#x4E2A;&#x76EE;&#x5F55;&#xFF0C;&#x6211;&#x4EEC;&#x4E5F;&#x53EF;&#x4EE5;&#x5199;shell&#x751F;&#x6210;&#x5BF9;&#x5E94;&#x7684;load_model_path&#xFF0C;&#x800C;&#x4E14;&#x901A;&#x5E38;&#x53EA;&#x9700;&#x8981;&#x6D4B;&#x6700;&#x540E;&#x4E00;&#x4E2A;epoch&#x7684;&#x6A21;&#x578B;&#xFF1B;</li>
<li><code>load_not_strict</code>&#xFF1A;&#x6211;&#x5199;&#x4E86;&#x4E00;&#x4E2A;<code>load_match_dict</code>&#x51FD;&#x6570;&#xFF08;utils/torch_utils.py&#xFF09;&#xFF0C;&#x5141;&#x8BB8;&#x52A0;&#x8F7D;&#x7684;&#x6A21;&#x578B;&#x548C;&#x5F53;&#x524D;&#x6A21;&#x578B;&#x7684;&#x53C2;&#x6570;&#x4E0D;&#x5B8C;&#x5168;&#x5339;&#x914D;&#xFF0C;&#x53EF;&#x591A;&#x53EF;&#x5C11;&#xFF0C;&#x5982;&#x679C;&#x6253;&#x5F00;&#x8FD9;&#x4E2A;&#x9009;&#x9879;&#xFF0C;&#x5C31;&#x4F1A;&#x8C03;&#x7528;&#x6B64;&#x51FD;&#x6570;&#xFF0C;&#x8FD9;&#x6837;&#x6211;&#x4EEC;&#x5C31;&#x53EF;&#x4EE5;&#x4FEE;&#x6539;&#x6A21;&#x578B;&#x7684;&#x67D0;&#x4E2A;&#x7EC4;&#x4EF6;&#xFF0C;&#x7136;&#x540E;&#x7528;&#x4E4B;&#x524D;&#x7684;&#x6A21;&#x578B;&#x6765;&#x505A;&#x9884;&#x8BAD;&#x7EC3;&#x5566;&#xFF01;&#x5982;&#x679C;&#x5173;&#x95ED;&#xFF0C;&#x5C31;&#x4F1A;&#x7528;torch&#x539F;&#x672C;&#x7684;&#x52A0;&#x8F7D;&#x903B;&#x8F91;&#xFF0C;&#x8981;&#x6C42;&#x6BD4;&#x8F83;&#x4E25;&#x683C;&#x7684;&#x53C2;&#x6570;&#x5339;&#x914D;&#xFF1B;</li>
<li><code>val_list</code>: &#x8BAD;&#x7EC3;&#x65F6;&#x53EF;&#x4EE5;&#x4F20;&#x5165;&#x9A8C;&#x8BC1;&#x96C6;list&#xFF0C;&#x6D4B;&#x8BD5;&#x65F6;&#x53EF;&#x4EE5;&#x4F20;&#x5165;&#x6D4B;&#x8BD5;&#x96C6;list&#xFF1B;</li>
<li><code>gpus</code>&#xFF1A;&#x53EF;&#x4EE5;&#x914D;&#x7F6E;&#x8BAD;&#x7EC3;&#x6216;&#x6D4B;&#x8BD5;&#x65F6;&#x4F7F;&#x7528;&#x7684;&#x663E;&#x5361;&#x7F16;&#x53F7;&#xFF0C;&#x5728;&#x591A;&#x5361;&#x8BAD;&#x7EC3;&#x65F6;&#x9700;&#x8981;&#x7528;&#x5230;&#xFF0C;&#x6D4B;&#x8BD5;&#x65F6;&#x4E5F;&#x53EF;&#x4EE5;&#x6307;&#x5B9A;&#x663E;&#x5361;&#x7F16;&#x53F7;&#xFF0C;&#x7ED5;&#x5F00;&#x5176;&#x4ED6;&#x6B63;&#x5728;&#x7528;&#x7684;&#x663E;&#x5361;&#xFF0C;&#x5F53;&#x7136;&#x4F60;&#x4E5F;&#x53EF;&#x4EE5;&#x5728;&#x547D;&#x4EE4;&#x884C;&#x91CC;export CUDA_VISIBLE_DEVICES&#x8FD9;&#x4E2A;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x6765;&#x63A7;&#x5236;</li>
</ul>
</li>
<li><p>parse_train_args</p>
<ul>
<li><code>lr</code>&#xFF0C;<code>momentum</code>, <code>beta</code>, <code>weight-decay</code>: optmizer&#x76F8;&#x5173;&#x53C2;&#x6570;&#xFF0C;&#x5728;train.py&#x4E2D;&#x521D;&#x59CB;&#x5316;optimizer</li>
<li><code>model_dir</code>&#xFF1A;&#x6A21;&#x578B;&#x7684;&#x5B58;&#x50A8;&#x76EE;&#x5F55;&#xFF0C;&#x7559;&#x7A7A;&#xFF0C;&#x4E0D;&#x7528;&#x4F20;&#x5165;&#xFF0C;&#x4F1A;&#x5728;<code>get_train_model_dir</code>&#x51FD;&#x6570;&#x4E2D;&#x786E;&#x5B9A;&#x8FD9;&#x4E2A;&#x5B57;&#x6BB5;&#x7684;&#x503C;&#xFF0C;&#x521B;&#x5EFA;&#x5BF9;&#x5E94;&#x7684;&#x76EE;&#x5F55;&#xFF0C;&#x586B;&#x5145;&#x5230;args&#x4E2D;&#xFF0C;&#x65B9;&#x4FBF;&#x5176;&#x4ED6;&#x6A21;&#x5757;&#x83B7;&#x5F97;&#x6A21;&#x578B;&#x8DEF;&#x5F84;</li>
<li><code>train_list</code>&#xFF1A;&#x8BAD;&#x7EC3;&#x96C6;list&#x8DEF;&#x5F84;</li>
<li><code>batch_size</code>&#xFF1A;&#x8BAD;&#x7EC3;&#x65F6;&#x7684;batch size&#xFF0C;&#x6709;&#x4EBA;&#x53EF;&#x80FD;&#x4F1A;&#x95EE;&#xFF0C;&#x4E3A;&#x5565;&#x6D4B;&#x8BD5;&#x65F6;&#x4E0D;&#x7528;&#x8BBE;&#x7F6E;batch size&#xFF1F;&#x4E3B;&#x8981;&#x662F;&#x51FA;&#x4E8E;&#x6D4B;&#x8BD5;&#x65F6;&#x7684;&#x53EF;&#x89C6;&#x5316;&#x9700;&#x6C42;&#xFF0C;&#x5F80;&#x5F80;&#x6D4B;&#x8BD5;&#x9700;&#x8981;&#x4E00;&#x5F20;&#x4E00;&#x5F20;forward&#xFF0C;&#x6240;&#x4EE5;&#x6211;&#x4E60;&#x60EF;&#x5C06;&#x6D4B;&#x8BD5;batch size&#x4E3A;1</li>
<li><p><code>epochs</code>&#xFF1A;&#x6A21;&#x578B;&#x8BAD;&#x7EC3;epoch&#x6570;</p>
</li>
<li><p>parse_test_args</p>
<ul>
<li><code>save_viz</code>&#xFF1A;&#x63A7;&#x5236;&#x662F;&#x5426;&#x4FDD;&#x5B58;&#x53EF;&#x89C6;&#x5316;&#x7ED3;&#x679C;&#x7684;&#x5F00;&#x5173;</li>
<li><code>result_dir</code>&#xFF1A;&#x53EF;&#x89C6;&#x5316;&#x7ED3;&#x679C;&#x548C;&#x6D4B;&#x8BD5;&#x7ED3;&#x679C;&#x7684;&#x5B58;&#x50A8;&#x76EE;&#x5F55;&#xFF0C;&#x7559;&#x7A7A;&#xFF0C;&#x4E0D;&#x7528;&#x4F20;&#x5165;&#xFF0C;&#x4F1A;&#x5728;<code>get_test_result_dir</code>&#x4E2D;&#x81EA;&#x52A8;&#x751F;&#x6210;&#xFF0C;&#x81EA;&#x52A8;&#x521B;&#x5EFA;&#x76EE;&#x5F55;&#xFF0C;&#x8FD9;&#x4E2A;&#x76EE;&#x5F55;&#x901A;&#x5E38;&#x4F4D;&#x4E8E;&#x6A21;&#x578B;&#x8DEF;&#x5F84;&#x4E0B;&#xFF0C;&#x5F62;&#x5982;checkpoints/model_name/checkpoint_num/val_info_save_prefix</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>&#x4F7F;&#x7528;&#x65F6;&#xFF0C;&#x8C03;&#x7528;<code>prepare_train_args</code>&#xFF0C;&#x5C31;&#x4F1A;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x5305;&#x542B;&#x6240;&#x6709;&#x516C;&#x5171;&#x53C2;&#x6570;&#x548C;&#x8BAD;&#x7EC3;&#x53C2;&#x6570;&#x7684;parser&#xFF0C;&#x7136;&#x540E;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x6A21;&#x578B;&#x76EE;&#x5F55;&#xFF0C;&#x5E76;&#x8C03;&#x7528;<code>save_args</code>&#x51FD;&#x6570;&#x4FDD;&#x5B58;&#x6240;&#x6709;&#x53C2;&#x6570;&#xFF0C;&#x8FD4;&#x56DE;&#x5BF9;&#x5E94;&#x7684;args&#x3002;&#x4FDD;&#x5B58;&#x53C2;&#x6570;&#x8FD9;&#x4E00;&#x6B65;&#x5341;&#x5206;&#x91CD;&#x8981;&#xFF0C;&#x80FD;&#x591F;&#x907F;&#x514D;&#x6A21;&#x578B;&#x8BAD;&#x7EC3;&#x5B8C;&#x6210;&#x4E4B;&#x540E;&#xFF0C;&#x811A;&#x672C;&#x6216;&#x547D;&#x4EE4;&#x627E;&#x4E0D;&#x5230;&#xFF0C;&#x5FD8;&#x8BB0;&#x81EA;&#x5DF1;&#x8BAD;&#x7EC3;&#x7684;&#x6A21;&#x578B;&#x914D;&#x7F6E;&#x8FD9;&#x79CD;&#x5C34;&#x5C2C;&#x5C40;&#x9762;&#x3002;</p>
<p>&#x6D4B;&#x8BD5;&#x65F6;&#x4E5F;&#x7C7B;&#x4F3C;&#xFF0C;&#x8C03;&#x7528;<code>prepare_test_args</code>&#xFF0C;&#x521B;&#x5EFA;parser&#xFF0C;&#x521B;&#x5EFA;&#x76EE;&#x5F55;&#xFF0C;&#x4FDD;&#x5B58;&#x53C2;&#x6570;&#xFF0C;&#x5E76;&#x8FD4;&#x56DE;&#x5BF9;&#x5E94;&#x7684;args&#x3002;</p>
<h2 id="data">data</h2>
<p>&#x63A5;&#x4E0B;&#x6765;&#x662F;data package&#xFF0C;&#x5728;&#x8FD9;&#x91CC;&#xFF0C;&#x53EF;&#x4EE5;&#x4E3A;&#x6BCF;&#x79CD;&#x6570;&#x636E;&#x96C6;&#x5B9A;&#x4E49;&#x4E00;&#x4E2A;dataset&#xFF0C;&#x6700;&#x597D;&#x662F;&#x6BCF;&#x4E2A;dataset&#x5404;&#x81EA;&#x5F62;&#x6210;&#x4E00;&#x4E2A;&#x6587;&#x4EF6;&#xFF0C;&#x6BD4;&#x5982;<a href="https://github.com/ahangchen/torch_base/blob/main/data/list_dataset.py" target="_blank">list_dataset.py</a>, <a href="https://github.com/ahangchen/torch_base/blob/main/data/mem_list_dataset.py" target="_blank">mem_list_dataset.py</a>&#xFF0C;&#x5982;&#x679C;&#x591A;&#x4E2A;dataset&#x90FD;&#x5199;&#x5230;&#x4E00;&#x4E2A;&#x6587;&#x4EF6;&#x91CC;&#xFF0C;&#x968F;&#x7740;&#x5B9E;&#x9A8C;&#x8FDB;&#x884C;&#xFF0C;&#x5404;&#x79CD;&#x4FEE;&#x4FEE;&#x8865;&#x8865;&#x4E0B;&#x6765;&#xFF0C;&#x4EE3;&#x7801;&#x5C31;&#x4F1A;&#x5F88;&#x957F;&#xFF0C;&#x5F88;&#x96BE;&#x67E5;&#x9605;&#x3002;</p>
<p>&#x8FD9;&#x91CC;&#x6211;&#x4EEC;&#x8FD8;&#x6709;&#x4E00;&#x4E2A;<a href="https://github.com/ahangchen/torch_base/blob/main/data/data_entry.py" target="_blank">data_entry.py</a>&#xFF0C;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x547D;&#x4EE4;&#x884C;&#x53C2;&#x6570;&#xFF0C;&#x4EE5;&#x5B57;&#x5178;&#x7684;&#x5F62;&#x5F0F;&#xFF0C;&#x5FEB;&#x6377;&#x5730;&#x9009;&#x62E9;&#x8981;&#x6784;&#x9020;&#x7684;dataset&#xFF0C;&#x5982;&#x679C;&#x4F60;&#x6709;&#x66F4;&#x591A;&#x7684;dataset&#xFF0C;&#x53EF;&#x4EE5;&#x7EE7;&#x7EED;&#x6269;&#x5C55;&#x8FD9;&#x4E2A;&#x5B57;&#x5178;&#xFF0C;&#x5B57;&#x5178;&#x8BBF;&#x95EE;&#x662F;O(1)&#x7684;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x907F;&#x514D;&#x4E00;&#x5806;if-else&#x7684;&#x5224;&#x65AD;&#x3002;&#x6709;&#x4E86;dataset&#xFF0C;&#x518D;&#x7528;pytorch&#x7684;dataloader&#x63A5;&#x53E3;&#x5305;&#x4E00;&#x4E0B;&#xFF0C;&#x53EF;&#x4EE5;&#x652F;&#x6301;shuffle&#xFF0C;&#x591A;&#x7EBF;&#x7A0B;&#x52A0;&#x8F7D;&#x6570;&#x636E;&#xFF0C;&#x975E;&#x5E38;&#x65B9;&#x4FBF;&#x3002;</p>
<p>&#x901A;&#x5E38;&#x6211;&#x4EEC;&#x8FD8;&#x4F1A;&#x5728;data package&#x91CC;&#x653E;&#x4E00;&#x4E2A;augment.py&#xFF0C;&#x53EF;&#x4EE5;&#x628A;&#x6570;&#x636E;&#x6269;&#x589E;&#x64CD;&#x4F5C;&#x90FD;&#x653E;&#x8FDB;&#x53BB;&#xFF0C;&#x56E0;&#x4E3A;&#x5F80;&#x5F80;&#x591A;&#x4E2A;dataset&#x90FD;&#x9700;&#x8981;&#x8C03;&#x7528;&#x76F8;&#x540C;&#x7684;augmentor&#xFF0C;&#x6240;&#x4EE5;&#x6700;&#x597D;&#x72EC;&#x7ACB;&#x51FA;&#x6765;&#xFF0C;&#x5728;dataset&#x6587;&#x4EF6;&#x4E2D;&#x5206;&#x522B;&#x8C03;&#x7528;&#x3002;</p>
<h2 id="model">model</h2>
<p>&#x8FD9;&#x91CC;&#x653E;&#x7684;&#x5C31;&#x662F;&#x5404;&#x79CD;&#x82B1;&#x91CC;&#x80E1;&#x54E8;&#x7684;&#x6A21;&#x578B;&#x5566;&#xFF0C;&#x4E5F;&#x662F;&#x70BC;&#x4E39;&#x5DE5;&#x4F5C;&#x6700;&#x4E3B;&#x8981;&#x7684;&#x90E8;&#x5206;&#x3002;&#x5EFA;&#x8BAE;&#x6BCF;&#x4E2A;&#x6A21;&#x578B;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;package&#xFF0C;&#x6BD4;&#x5982;<a href="https://github.com/ahangchen/torch_base/tree/main/model/base" target="_blank">base</a>&#xFF0C;<a href="https://github.com/ahangchen/torch_base/tree/main/model/better" target="_blank">better</a>&#xFF0C; <a href="https://github.com/ahangchen/torch_base/tree/main/model/best" target="_blank">best</a>&#xFF0C;&#x751A;&#x81F3;<a href="https://github.com/ahangchen/torch_base/tree/main/model/sota" target="_blank">sota</a>&#xFF0C;&#x73B0;&#x4EE3;&#x7684;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x7ED3;&#x6784;&#x6709;&#x4E00;&#x4E9B;&#x5E38;&#x7528;&#x7684;&#x5C0F;&#x7EC4;&#x4EF6;&#xFF0C;&#x6BD4;&#x5982;conv-bn-relu&#x8FD9;&#x6837;&#x7684;&#x7ED3;&#x6784;&#xFF0C;&#x6211;&#x4E60;&#x60EF;&#x628A;&#x5B83;&#x4EEC;&#x90FD;&#x653E;&#x5728;&#x4E00;&#x4E2A;&#x5355;&#x72EC;&#x7684;&#x6587;&#x4EF6;<a href="https://github.com/ahangchen/torch_base/blob/main/model/submodules.py" target="_blank">submodules.py</a>&#x4E2D;&#xFF0C;&#x53EF;&#x4EE5;&#x5728;&#x5404;&#x79CD;&#x4EFB;&#x52A1;&#x4E2D;&#x590D;&#x7528;&#x3002;</p>
<p>&#x4E0E;data_entry&#x7C7B;&#x4F3C;&#xFF0C;&#x6211;&#x4EEC;&#x6709;&#x4E00;&#x4E2A;<a href="https://github.com/ahangchen/torch_base/blob/main/model/model_entry.py" target="_blank">model_entry.py</a>&#xFF0C;&#x5728;<code>select_model</code>&#x51FD;&#x6570;&#x4E2D;&#x4E5F;&#x662F;&#x901A;&#x8FC7;&#x5B57;&#x5178;&#x5B9E;&#x73B0;&#x53C2;&#x6570;&#x540D;&#x548C;&#x6A21;&#x578B;&#x7684;&#x5BF9;&#x5E94;&#xFF0C;&#x5728;<code>equip_multi_gpu</code>&#x51FD;&#x6570;&#x4E2D;&#xFF0C;&#x53EF;&#x4EE5;&#x65B9;&#x4FBF;&#x7684;&#x5B9E;&#x73B0;&#x5355;&#x673A;&#x591A;&#x5361;&#xFF0C;&#x81F3;&#x4E8E;&#x591A;&#x673A;&#x591A;&#x5361;&#xFF0C;&#x6211;&#x81EA;&#x5DF1;&#x7528;&#x5F97;&#x4E0D;&#x591A;&#xFF0C;&#x56E0;&#x4E3A;&#x6211;&#x5927;&#x591A;&#x662F;&#x8BAD;&#x7EC3;&#x9762;&#x5411;&#x65E0;&#x4EBA;&#x673A;&#x4E0A;&#x7684;&#x6A21;&#x578B;&#xFF0C;&#x53C2;&#x6570;&#x91CF;&#x548C;&#x8BA1;&#x7B97;&#x91CF;&#x8981;&#x6C42;&#x5F88;&#x5C0F;&#xFF0C;&#x6211;&#x4EEC;&#x7684;&#x5355;&#x673A;&#x670D;&#x52A1;&#x5668;&#x8DB3;&#x591F;train&#x7EDD;&#x5927;&#x591A;&#x6570;&#x6A21;&#x578B;&#x4E86;&#xFF0C;&#x5982;&#x679C;&#x662F;&#x4E3A;&#x4E86;&#x66F4;&#x5927;&#x7684;batch size&#x52A0;&#x901F;&#x8BAD;&#x7EC3;&#xFF0C;&#x4E0D;&#x5982;&#x5728;&#x53E6;&#x4E00;&#x53F0;&#x673A;&#x5668;&#x4E0A;&#x591A;&#x8DD1;&#x4E00;&#x7EC4;&#x522B;&#x7684;&#x5B9E;&#x9A8C;&#xFF0C;&#x603B;&#x4F53;&#x6548;&#x7387;&#x66F4;&#x9AD8;&#x3002;&#x5982;&#x679C;&#x5927;&#x5BB6;&#x60F3;&#x770B;&#x8FD9;&#x65B9;&#x9762;&#x6559;&#x7A0B;&#xFF0C;&#x53EF;&#x4EE5;&#x7559;&#x8A00;&#xFF0C;&#x6211;&#x53EF;&#x4EE5;&#x8865;&#x4E00;&#x4E0B;&#x5BF9;&#x5E94;&#x7684;&#x4EE3;&#x7801;&#x3002;</p>
<h2 id="utils">utils</h2>
<p>&#x5B58;&#x653E;&#x5404;&#x79CD;&#x53EF;&#x590D;&#x7528;&#x7684;util&#x51FD;&#x6570;&#x6216;&#x8005;&#x7C7B;&#xFF0C;&#x6BD4;&#x5982;&#x4E00;&#x4E9B;&#x901A;&#x7528;&#x7684;&#x53EF;&#x89C6;&#x5316;&#x4EE3;&#x7801;&#x653E;&#x5230;<a href="https://github.com/ahangchen/torch_base/blob/main/utils/viz.py" target="_blank">viz.py</a>&#xFF0C;&#x4E00;&#x4E9B;pytorch&#x9B54;&#x6539;&#x51FD;&#x6570;&#x653E;&#x5230;<a href="https://github.com/ahangchen/torch_base/blob/main/utils/torch_utils.py" target="_blank">torch_utils.py</a>&#xFF0C;&#x8FD8;&#x6709;&#x57FA;&#x4E8E;tensorboard&#x7684;&#x5B58;&#x56FE;&#x5B58;&#x66F2;&#x7EBF;&#x7684;<a href="https://github.com/ahangchen/torch_base/blob/main/utils/logger.py" target="_blank">logger.py</a>&#xFF0C;&#x8FD9;&#x91CC;&#x4E3B;&#x8981;&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;&#x8FD9;&#x4E2A;&#x65E5;&#x5FD7;&#x7EC4;&#x4EF6;&#xFF1A;</p>
<h3 id="recoder">Recoder</h3>
<p>&#x4E00;&#x4E2A;&#x6570;&#x636E;&#x7EDF;&#x8BA1;&#x5DE5;&#x5177;&#xFF0C;&#x5728;&#x5FAA;&#x73AF;&#x91CC;record&#x6BCF;&#x6B21;&#x8FED;&#x4EE3;&#x7684;&#x6570;&#x636E;&#xFF08;&#x6BD4;&#x5982;&#x5404;&#x79CD;&#x8BC4;&#x4EF7;&#x6307;&#x6807;<code>metrics</code>&#xFF09;&#xFF0C;&#x5728;&#x6BCF;&#x4E2A;epoch&#x8BAD;&#x7EC3;&#x5B8C;&#x6210;&#x540E;&#xFF0C;&#x8C03;&#x7528;summary&#xFF0C;&#x5F97;&#x5230;&#x4E4B;&#x524D;&#x7EDF;&#x8BA1;&#x7684;&#x6307;&#x6807;&#x5404;&#x81EA;&#x7684;&#x5747;&#x503C;&#x3002;&#x8FD9;&#x4E2A;&#x5DE5;&#x5177;&#x5728;&#x8BAD;&#x7EC3;&#x65F6;&#x5D4C;&#x5165;&#x5230;Logger&#x4E2D;&#x4F7F;&#x7528;&#xFF0C;&#x5728;&#x6D4B;&#x8BD5;&#x65F6;&#x7531;&#x4E8E;&#x4E0D;&#x9700;&#x8981;&#x8C03;&#x7528;tensorboard&#xFF0C;&#x6240;&#x4EE5;&#x76F4;&#x63A5;&#x88AB;eval.py&#x8C03;&#x7528;&#x3002;</p>
<h3 id="logger">Logger</h3>
<p>&#x5C06;tensorboard&#x7684;SummaryWritter&#x5305;&#x4E86;&#x4E00;&#x5C42;&#xFF0C;&#x5305;&#x542B;&#x4E00;&#x4E2A;recorder&#xFF0C;&#x8FD8;&#x6709;&#x4E00;&#x4E2A;SummaryWritter&#xFF1B;&#x5728;&#x8BAD;&#x7EC3;&#x6216;&#x9A8C;&#x8BC1;&#x7684;&#x6BCF;&#x4E2A;step&#x4EE5;name-value&#x7684;&#x5F62;&#x5F0F;record&#x4E00;&#x4E0B;&#x5BF9;&#x5E94;&#x7684;&#x66F2;&#x7EBF;&#x6570;&#x636E;&#xFF0C;name&#x6700;&#x597D;&#x7528;<code>train/xxx</code>&#xFF0C;<code>val/xxx</code>&#x8FD9;&#x79CD;&#x5F62;&#x5F0F;&#xFF0C;&#x8FD9;&#x6837;&#x8BAD;&#x7EC3;&#x548C;&#x6D4B;&#x8BD5;&#x7684;&#x66F2;&#x7EBF;&#x4F1A;&#x663E;&#x793A;&#x5728;&#x4E24;&#x4E2A;&#x56FE;&#x4E2D;&#xFF0C;&#x5728;&#x6BCF;&#x4E2A;epoch&#x7684;&#x6700;&#x540E;&#x4E00;&#x4E2A;step&#x5728;&#x6BCF;&#x6B21;&#x8BAD;&#x7EC3;&#x6216;&#x9A8C;&#x8BC1;&#x7684;epoch&#x5FAA;&#x73AF;&#x7ED3;&#x675F;&#x65F6;&#xFF0C;&#x8C03;&#x7528;&#x4E00;&#x6B21;save_curves&#x4FDD;&#x5B58;&#x66F2;&#x7EBF;&#xFF0C;&#x8C03;&#x7528;&#x4E00;&#x6B21;save_checkpoint&#x4FDD;&#x5B58;&#x6A21;&#x578B;&#x53C2;&#x6570;&#xFF1B;&#x8FD9;&#x4E9B;&#x64CD;&#x4F5C;&#x90FD;&#x5728;&#x4E0B;&#x9762;&#x7684;train.py&#x4E2D;&#x4F53;&#x73B0;&#x3002;</p>
<h2 id="trainpy">train.py</h2>
<p>&#x7EC8;&#x4E8E;&#x6765;&#x5230;&#x6838;&#x5FC3;&#x7684;&#x8BAD;&#x7EC3;&#x4EE3;&#x7801;&#x73AF;&#x8282;&#xFF0C;&#x8FD9;&#x91CC;&#x6211;&#x6574;&#x4E86;&#x4E00;&#x4E2A;trainer&#xFF0C;&#x5C06;&#x8BAD;&#x7EC3;&#x4E2D;&#x56FA;&#x5B9A;&#x7684;&#x64CD;&#x4F5C;&#x5C01;&#x88C5;&#x6210;&#x4E00;&#x4E9B;&#x51FD;&#x6570;&#xFF0C;&#x9700;&#x8981;&#x6309;&#x5B9E;&#x9645;&#x60C5;&#x51B5;&#x4FEE;&#x6539;&#x7684;&#x64CD;&#x4F5C;&#x5C01;&#x88C5;&#x6210;&#x53E6;&#x5916;&#x7684;&#x51FD;&#x6570;&#xFF0C;&#x8FD9;&#x6837;&#x6709;&#x65B0;&#x4EFB;&#x52A1;&#x6765;&#x4E86;&#xFF0C;&#x53EA;&#x9700;&#x8981;&#x4FEE;&#x6539;&#x8FD9;&#x4E9B;&#x51FD;&#x6570;&#x5C31;&#x884C;&#x3002;&#x73B0;&#x5728;&#x4F9D;&#x6B21;&#x4ECB;&#x7ECD;&#x8FD9;&#x4E9B;&#x51FD;&#x6570;&#xFF1A;</p>
<ul>
<li><code>__init__</code>&#xFF1A;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x521D;&#x59CB;&#x5316;&#x4E86;&#x547D;&#x4EE4;&#x884C;&#x53C2;&#x6570;<code>args</code>&#xFF0C;&#x65E5;&#x5FD7;&#x5DE5;&#x5177;&#xFF08;<a href="https://github.com/ahangchen/torch_base/blob/main/utils/logger.py" target="_blank">Logger</a>&#x5BF9;&#x8C61;&#xFF09;<code>logger</code>&#xFF0C;&#x8BAD;&#x7EC3;&#x9A8C;&#x8BC1;&#x7684;&#x4E24;&#x4E2A;dataloader&#xFF0C;&#x53C2;&#x6570;&#x4F18;&#x5316;&#x5668;<code>optimizer</code>&#xFF0C;&#x4EE5;&#x53CA;&#x6A21;&#x578B;&#x672C;&#x8EAB;<code>model</code>&#xFF0C;&#x8FD9;&#x91CC;&#x6211;&#x4EEC;&#x6709;&#x4E09;&#x79CD;&#x65B9;&#x5F0F;&#x521D;&#x59CB;&#x5316;&#x6A21;&#x578B;&#xFF1A;1. &#x6839;&#x636E;&#x6A21;&#x578B;&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;&#x521D;&#x59CB;&#x5316;&#x6A21;&#x578B;&#x53C2;&#x6570;&#xFF0C;2. &#x4F7F;&#x7528;torch.load&#x52A0;&#x8F7D;&#x6A21;&#x578B;&#x53C2;&#x6570;&#xFF0C;&#x8FD9;&#x79CD;&#x65B9;&#x5F0F;&#x8981;&#x6C42;&#x6A21;&#x578B;&#x53C2;&#x6570;&#x548C;&#x6211;&#x4EEC;&#x7684;&#x6A21;&#x578B;&#x5B9A;&#x4E49;&#x5B8C;&#x5168;&#x5339;&#x914D;&#xFF0C;3. &#x4F7F;&#x7528;<a href="https://github.com/ahangchen/torch_base/blob/main/utils/torch_utils.py#L4" target="_blank">load_match_dict</a>&#x52A0;&#x8F7D;&#x6A21;&#x578B;&#x53C2;&#x6570;&#xFF0C;&#x53EF;&#x4EE5;&#x627E;&#x5230;&#x6A21;&#x578B;&#x53C2;&#x6570;&#x548C;&#x6A21;&#x578B;&#x5B9A;&#x4E49;&#x4E2D;&#xFF0C;&#x53C2;&#x6570;&#x91CF;&#x548C;&#x540D;&#x5B57;&#x76F8;&#x540C;&#x7684;&#x90E8;&#x5206;&#x8FDB;&#x884C;&#x521D;&#x59CB;&#x5316;&#xFF0C;&#x9002;&#x5408;&#x53EA;&#x6539;&#x4E86;&#x90E8;&#x5206;&#x7F51;&#x7EDC;&#x7ED3;&#x6784;&#x7684;&#x6A21;&#x578B;&#x521D;&#x59CB;&#x5316;&#xFF0C;&#x4F5C;&#x4E3A;&#x4E00;&#x79CD;&#x5C40;&#x90E8;pretrain&#x3002;</li>
<li><code>train</code>&#xFF1A;&#x8BAD;&#x7EC3;&#x5165;&#x53E3;&#xFF0C;&#x8FED;&#x4EE3;epochs&#x6B21;&#xFF0C;&#x6BCF;&#x6B21;&#x8C03;&#x7528;train_per_epoch, val_per_epoch&#x6267;&#x884C;&#x8BAD;&#x7EC3;&#x548C;&#x6D4B;&#x8BD5;&#xFF0C;&#x518D;&#x8C03;&#x7528;logger&#x5B58;&#x50A8;&#x66F2;&#x7EBF;&#x548C;&#x56FE;&#x50CF;&#x3002;</li>
<li><code>train_per_epoch</code>&#xFF1A;&#x8BAD;&#x7EC3;&#x6838;&#x5FC3;&#x4EE3;&#x7801;&#xFF0C;&#x5C06;&#x6A21;&#x578B;&#x5207;&#x6362;&#x5230;&#x8BAD;&#x7EC3;&#x6A21;&#x5F0F;&#xFF0C;&#x904D;&#x5386;&#x6574;&#x4E2A;train_loader&#xFF0C;&#x8C03;&#x7528;step&#x8FDB;&#x884C;&#x6570;&#x636E;&#x62C6;&#x5305;&#xFF0C;&#x4E0D;&#x540C;loader&#x8FD4;&#x56DE;&#x7684;&#x6570;&#x636E;&#x4E0D;&#x540C;&#xFF0C;&#x62C6;&#x5305;&#x65B9;&#x5F0F;&#x4E5F;&#x6709;&#x5DEE;&#x5F02;&#xFF0C;&#x8FD8;&#x9700;&#x8981;&#x7528;Variable&#x5BF9;&#x6570;&#x636E;&#x518D;&#x6253;&#x5305;&#x4E00;&#x4E0B;&#xFF0C;&#x8FD9;&#x4E9B;&#x64CD;&#x4F5C;&#x90FD;&#x72EC;&#x7ACB;&#x5230;step&#x51FD;&#x6570;&#x91CC;&#xFF0C;&#x65B9;&#x4FBF;&#x5355;&#x72EC;&#x4FEE;&#x6539;&#xFF1B;&#x518D;&#x6267;&#x884C;&#x6A21;&#x578B;forward&#xFF0C;&#x83B7;&#x53D6;&#x7ED3;&#x679C;&#xFF0C;&#x8C03;&#x7528;compute_metrics&#x8BA1;&#x7B97;metrics&#xFF08;&#x8BAD;&#x7EC3;&#x4E2D;&#x4E5F;&#x9700;&#x8981;&#x89C2;&#x5BDF;&#x5404;&#x79CD;&#x6307;&#x6807;&#xFF0C;&#x8FD9;&#x4E9B;&#x6307;&#x6807;&#x7684;&#x8BA1;&#x7B97;&#x63A8;&#x8350;&#x653E;&#x5728;<a href="https://github.com/ahangchen/torch_base/blob/main/metrics.py" target="_blank">metrics.py</a>&#xFF09;&#xFF0C;&#x8BA1;&#x7B97;loss&#xFF08;&#x5404;&#x79CD;&#x82B1;&#x91CC;&#x80E1;&#x54E8;&#x7684;loss&#x8BF7;&#x653E;&#x5230;<a href="https://github.com/ahangchen/torch_base/blob/main/loss.py" target="_blank">loss.py</a>&#xFF09;&#xFF0C;&#x53CD;&#x5411;&#x4F20;&#x64AD;&#xFF0C;&#x5728;&#x6BCF;&#x6B21;&#x8FED;&#x4EE3;&#x4E2D;&#x90FD;&#x8C03;&#x7528;logger&#x7684;record&#x51FD;&#x6570;&#xFF0C;&#x8BB0;&#x5F55;metrics&#xFF0C;&#x5728;&#x6700;&#x540E;&#x4E00;&#x4E2A;step&#xFF0C;&#x8C03;&#x7528;gen_imgs_to_write&#xFF0C;&#x5C06;torch&#x7684;&#x6570;&#x636E;&#x8F6C;&#x6210;&#x56FE;&#x50CF;&#x53EF;&#x89C6;&#x5316;&#xFF0C;&#x5404;&#x79CD;&#x53EF;&#x89C6;&#x5316;&#x53EF;&#x4EE5;&#x5199;&#x5728;<a href="https://github.com/ahangchen/torch_base/blob/main/utils/viz.py" target="_blank">viz.py</a>&#x518D;&#x8C03;&#x7528;&#x56FE;&#x50CF;&#x7684;&#x5B58;&#x50A8;&#xFF08;&#x66F2;&#x7EBF;&#x7684;&#x5B58;&#x50A8;&#x53EF;&#x4EE5;&#x653E;&#x5230;&#x5916;&#x9762;&#xFF0C;&#x6BCF;&#x4E2A;epoch&#x5B58;&#x4E00;&#x6B21;&#xFF0C;&#x4F46;&#x56FE;&#x50CF;&#x4E0D;&#x884C;&#xFF0C;&#x9664;&#x975E;&#x628A;&#x56FE;&#x4F20;&#x51FA;&#x53BB;&#xFF0C;&#x6BD4;&#x8F83;&#x86CB;&#x75BC;&#xFF09;&#x3002;&#x6700;&#x540E;&#x6839;&#x636E;print_freq&#xFF0C;&#x6BCF;&#x9694;&#x4E00;&#x6BB5;&#x65F6;&#x95F4;&#x6253;&#x5370;&#x65E5;&#x5FD7;&#x65B9;&#x4FBF;&#x89C2;&#x5BDF;&#x3002;</li>
<li><code>val_per_epoch</code>&#xFF1A;&#x4E0E;&#x8BAD;&#x7EC3;&#x7C7B;&#x4F3C;&#xFF0C;&#x5DEE;&#x522B;&#x5C31;&#x662F;&#x6A21;&#x578B;&#x5728;eval&#x6A21;&#x5F0F;&#x4E0B;&#xFF0C;&#x4E0D;&#x7528;&#x8BA1;&#x7B97;loss&#x548C;&#x53CD;&#x5411;&#x4F20;&#x64AD;&#xFF1B;</li>
</ul>
<h2 id="evalpy">eval.py</h2>
<p>&#x6700;&#x540E;&#x4ECB;&#x7ECD;&#x7684;&#x662F;&#x6D4B;&#x8BD5;&#x4EE3;&#x7801;&#xFF0C;&#x6211;&#x628A;&#x6D4B;&#x8BD5;&#x7684;&#x8FC7;&#x7A0B;&#x5305;&#x6210;&#x4E86;&#x4E00;&#x4E2A;Evaluator&#xFF0C;&#x548C;trainer&#x4E5F;&#x6BD4;&#x8F83;&#x7C7B;&#x4F3C;&#xFF1A;</p>
<ul>
<li><code>__init__</code>&#xFF1A;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x521D;&#x59CB;&#x5316;&#x547D;&#x4EE4;&#x884C;&#x53C2;&#x6570;<code>args</code>&#xFF0C;&#x52A0;&#x8F7D;&#x6A21;&#x578B;<code>model</code>&#x5E76;&#x5207;&#x6362;&#x5230;eval&#x6A21;&#x5F0F;&#xFF0C;&#x521D;&#x59CB;&#x5316;&#x6D4B;&#x8BD5;&#x96C6;&#x7684;data_loader&#xFF0C;&#x8BBE;&#x7F6E;&#x4E00;&#x4E2A;recorder&#x7528;&#x4E8E;&#x7EDF;&#x8BA1;&#x5404;&#x79CD;&#x8BC4;&#x4F30;&#x6307;&#x6807;&#xFF1B;</li>
<li><code>eval</code>&#xFF1A;&#x6D4B;&#x8BD5;&#x6838;&#x5FC3;&#x4EE3;&#x7801;&#xFF0C;&#x904D;&#x5386;&#x6574;&#x4E2A;&#x6D4B;&#x8BD5;&#x96C6;&#xFF0C;&#x6267;&#x884C;forward&#xFF0C;&#x5F97;&#x5230;&#x8F93;&#x5165;&#xFF0C;&#x8F93;&#x51FA;&#xFF0C;&#x771F;&#x503C;&#xFF0C;&#x8C03;&#x7528;compute_metrics&#xFF0C;&#x8C03;&#x7528;recorder&#x505A;&#x8BB0;&#x5F55;&#xFF0C;&#x6839;&#x636E;viz_freq&#xFF0C;&#x51B3;&#x5B9A;&#x8FD9;&#x4E2A;step&#x662F;&#x5426;&#x8C03;&#x7528;<code>viz_per_epoch</code>&#x53EF;&#x89C6;&#x5316;&#x5E76;&#x4FDD;&#x5B58;&#x7ED3;&#x679C;&#xFF08;&#x4E0E;&#x8BAD;&#x7EC3;&#x4E0D;&#x540C;&#xFF0C;&#x5F80;&#x5F80;&#x6D4B;&#x8BD5;&#x96C6;&#x53EF;&#x89C6;&#x5316;&#x7684;&#x5185;&#x5BB9;&#x662F;&#x8981;&#x5411;&#x9886;&#x5BFC;/&#x5BFC;&#x5E08;/&#x7532;&#x65B9;&#x6C47;&#x62A5;&#x7684;&#xFF0C;&#x4E0D;&#x80FD;&#x5B58;&#x5230;tensorboard&#x91CC;&#xFF09;&#xFF0C;&#x5FAA;&#x73AF;&#x7ED3;&#x675F;&#x65F6;&#xFF0C;&#x8C03;&#x7528;recorder&#x5F97;&#x5230;&#x6240;&#x6709;&#x7684;&#x8BC4;&#x4F30;&#x6307;&#x6807;&#xFF0C;&#x5E76;&#x5C06;&#x6240;&#x6709;metrics&#x5199;&#x5230;<code>result.txt</code>&#x91CC;&#xFF0C;&#x907F;&#x514D;&#x6D4B;&#x8BD5;&#x7A97;&#x53E3;&#x4E00;&#x5173;&#x5C31;&#x627E;&#x4E0D;&#x5230;&#x6D4B;&#x8BD5;&#x7ED3;&#x679C;&#x4E86;&#x3002;</li>
</ul>
<h2 id="&#x603B;&#x7ED3;">&#x603B;&#x7ED3;</h2>
<p>&#x81F3;&#x6B64;&#xFF0C;<a href="https://github.com/ahangchen/torch_base" target="_blank">torch_base</a>&#x8FD9;&#x4E2A;&#x5DE5;&#x7A0B;&#x5C31;&#x57FA;&#x672C;&#x4ECB;&#x7ECD;&#x5B8C;&#x4E86;&#xFF0C;&#x4E3B;&#x8981;&#x8FD8;&#x662F;&#x5B9E;&#x8DF5;&#x4E2D;&#x9047;&#x5230;&#x7684;&#x5404;&#x79CD;&#x5927;&#x5751;&#x5C0F;&#x5751;&#xFF0C;&#x903C;&#x7740;&#x81EA;&#x5DF1;&#x7ED9;&#x5DE5;&#x7A0B;&#x52A0;&#x4E0A;&#x4E86;&#x4EBF;&#x70B9;&#x70B9;&#x5C0F;&#x7EC6;&#x8282;&#xFF0C;&#x5982;&#x679C;&#x57FA;&#x4E8E;&#x8FD9;&#x4E2A;&#x5DE5;&#x7A0B;&#x53BB;&#x5F00;&#x53D1;&#x65B0;&#x7684;&#x4EFB;&#x52A1;&#xFF0C;&#x53EF;&#x4EE5;&#x7701;&#x53BB;&#x4E00;&#x4E9B;&#x7684;&#x811A;&#x624B;&#x67B6;&#x5F00;&#x53D1;&#x5DE5;&#x4F5C;&#xFF0C;&#x4E13;&#x6CE8;&#x4E8E;model&amp;&amp;data&amp;&amp;metric&amp;&amp;loss&amp;&amp;viz&#x76F8;&#x5173;&#x7684;&#x4E00;&#x4E9B;&#x5185;&#x5BB9;&#xFF0C;&#x8BA9;&#x70BC;&#x4E39;bring up&#x66F4;&#x5FEB;&#xFF0C;&#x6548;&#x7387;&#x66F4;&#x9AD8;&#xFF0C;&#x5BF9;&#x6211;&#x6765;&#x8BF4;&#x8FD8;&#x662F;&#x633A;&#x6709;&#x7528;&#x7684;&#xFF0C;&#x4E0D;&#x77E5;&#x9053;&#x6709;&#x6CA1;&#x6709;&#x7ED9;&#x4F60;&#x4E00;&#x4E9B;&#x542F;&#x53D1;&#xFF1F;&#x5982;&#x679C;&#x6709;&#x4EC0;&#x4E48;&#x5EFA;&#x8BAE;&#x4E5F;&#x6B22;&#x8FCE;&#x5728;<a href="https://github.com/ahangchen/torch_base/issues" target="_blank">issue</a>&#x6216;&#x8005;<a href="https://zhuanlan.zhihu.com/p/409662511" target="_blank">&#x77E5;&#x4E4E;&#x8BC4;&#x8BBA;&#x533A;</a>&#x544A;&#x8BC9;&#x6211;&#xFF0C;&#x611F;&#x8C22;&#x4F60;&#x7684;&#x9605;&#x8BFB;~</p>

                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="../ncs.html" class="navigation navigation-prev " aria-label="Previous page: 实践">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="../kit/" class="navigation navigation-next " aria-label="Next page: 工具">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"Pytorch实验代码的亿些小细节","level":"1.4.2.1","depth":3,"next":{"title":"工具","level":"1.4.3","depth":2,"path":"ml/kit/README.md","ref":"ml/kit/README.md","articles":[{"title":"Tensorflow学习笔记","level":"1.4.3.1","depth":3,"url":"https://github.com/ahangchen/GDLNotes","ref":"https://github.com/ahangchen/GDLNotes","articles":[]},{"title":"MXNet踩坑手记","level":"1.4.3.2","depth":3,"path":"ml/kit/mxnet.md","ref":"ml/kit/mxnet.md","articles":[]},{"title":"PyTorch踩坑手记","level":"1.4.3.3","depth":3,"path":"ml/kit/pytorch.md","ref":"ml/kit/pytorch.md","articles":[]},{"title":"Keras踩坑手记","level":"1.4.3.4","depth":3,"path":"ml/kit/keras.md","ref":"ml/kit/keras.md","articles":[]},{"title":"mscnn","level":"1.4.3.5","depth":3,"path":"ml/kit/mscnn.md","ref":"ml/kit/mscnn.md","articles":[]},{"title":"Matlab","level":"1.4.3.6","depth":3,"path":"ml/kit/matlab/README.md","ref":"ml/kit/matlab/README.md","articles":[{"title":"Matlab Remote IPC自动化数据处理","level":"1.4.3.6.1","depth":4,"path":"ml/kit/matlab/ripc_auto.md","ref":"ml/kit/matlab/ripc_auto.md","articles":[]}]}]},"previous":{"title":"实践","level":"1.4.2","depth":2,"path":"ml/ncs.md","ref":"ml/ncs.md","articles":[{"title":"Pytorch实验代码的亿些小细节","level":"1.4.2.1","depth":3,"path":"ml/pratice/torch_best_practice.md","ref":"ml/pratice/torch_best_practice.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["disqus","github","toggle-chapters","mathjax","mermaid-gb3"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"disqus":{"useIdentifier":false,"shortName":"ahangchen-blog"},"github":{"url":"https://github.com/ahangchen/windy-afternoon"},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"mermaid-gb3":{},"mathjax":{"forceSVG":false,"version":"2.6-latest"},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"陈伟航","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"梦里茶","gitbook":"*"},"file":{"path":"ml/pratice/torch_best_practice.md","mtime":"2021-10-03T02:38:06.853Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2021-10-03T04:31:53.922Z"},"basePath":"../..","book":{"language":""}});
        });
    </script>
</div>

        
    
    <script src="../../gitbook/gitbook.js"></script>
    <script src="../../gitbook/theme.js"></script>
    
        
        <script src="https://cdnjs.cloudflare.com/ajax/libs/URI.js/1.16.1/URI.min.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-disqus/plugin.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-github/plugin.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-toggle-chapters/toggle.js"></script>
        
    
        
        <script src="https://cdn.staticfile.org/mathjax/2.6.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-mathjax/plugin.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-mermaid-gb3/book/plugin.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-search/search-engine.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-search/search.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="../../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    <script src="../../gitbook/gitbook-plugin-mermaid-gb3/mermaid/mermaid.min.js"></script>

    </body>
</html>

